Logaritmické funkcie

V nasledujúcich príkladoch budeme vyšetrovať priebeh logaritmických funkcií a kresliť ich grafy. Sú to funkcie definované predpisom $$y = \log_a x,$$ kde $a > 0, a \ne 1$ je pevne zvolené reálne číslo. Logaritmické funkcie sú inverzné k exponenciálnym funkciám. Platí totiž $$y = \log_a x \leftrightarrow x = a^y $$ $$y = a^x \leftrightarrow x = \log_a y.$$ Prirodzený logaritmus zapisujeme takto $$\ln x \equiv \log_{\textrm{e}} x.$$ Všimnime si, že platí $$\log_a x = \frac{\ln x}{\ln a}.$$

Pri vyšetrovani priebehu každej takejto funkcie nás tu zaujímajú predovšetkým tieto informácie:

  • obor definície funkcie;
  • intervaly, na ktorých je funkcia monotónna;
  • asymptoty grafu funkcie;
  • globálne a lokálne extrémy funkcie;
  • nulové body funkcie.

Dokumentácia:

In [1]:
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
from maux import *

Príklad

Vyšetrenie priebehu a nakreslenie grafu funkcie $$y = \ln x.$$ Zostrojenie dotyčnice grafu funkcie v bode $x = 1$.

In [2]:
#### vstupné údaje
def f(X): return np.log(X)
X = np.linspace(0, 8, 8*100+1)
X = X[X > 0]
Y = f(X)
#with np.errstate(divide='ignore'): Y = f(X)

#### obrázok s dvoma diagramami
fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True)
fig.set_size_inches(18, 6)

### 1. diagram
init_subplot(ax1)
ax1.set_title(r"Graf funkcie $y = \ln\ x$")

## graf funkcie
ax1.plot(X, Y)

### 2. diagram
init_subplot(ax2)
ax2.spines['left'].set_color('none')
ax2.set_title("Priebeh funkcie")

## intervaly, na ktorých je funkcia monotónna
ax2.plot(X, Y, label="rastúca")

## asymptota bez smernice v bode 0
Ay = np.linspace(-4, 3, 7*10+1)
Ax = np.zeros(len(Ay))
ax2.plot(Ax, Ay, 'k--', lw=1, label="asymptota")

## nulové body
ax2.plot(1, 0, 'ko', label="nulový bod")

## dotyčnica
T = X - 1
XT = ax2.plot(X, T, label="dotyčnica")

## zvyšné nastavenia 2. diagramu
ax2.legend(loc='lower right')
ax2.grid()

### spoločné nastavenie pre oba diagramy
plt.ylim(-4, 3)

### archivácia obrázka
#plt.savefig("ex03_3_1.png")

### samotné zobrazenie
plt.show()
plt.close('all')

Úloha

Nakreslite do jedného obrázka grafy funkcií $y = e^x$ a $y = \ln x$.

Návod. Použite rovnakú mierku:

>>> fig.set_size_inches(4, 4)
>>> ax.axis('equal')

Úloha

Nakreslite do jedného obrázka grafy týchto logaritmických funkcií $$y = \log_a x$$ pre $a = \frac{1}{10}, \frac{1}{\textrm{e}}, \frac{1}{2}, 2, \textrm{e}, 10$.

Návod. Použite rovnakú mierku:

>>> ax.axis('equal')

Príklad

To isté ako v predchadzajúcom príklade, len vykreslenie sa deje pomocou interaktívnych prvkov knižnice ipywidgets.

Dokumentácia:

In [3]:
#### vstupné údaje
def f(X, a): return np.log(X) / np.log(a)
X = np.linspace(0, 10, 10*20+1)

#### obrázok s grafom logaritmickej funkcie
def plot_log(a):
    fig, ax = plt.subplots()
    init_subplot(ax)
    ax.set_title(r"Graf funkcie $y = \log_a\ x$ pre $a = {:.2g}$".format(a))
    with np.errstate(divide='ignore'): ax.plot(X, f(X, a))
    ax.set_ylim(-4, 4)
    ax.grid()
    plt.show()
    plt.close('all')

#### interaktívne vykreslenie obrázka
import ipywidgets as widgets
widgets.interact(
    plot_log, 
    a=widgets.SelectionSlider(
        options={'1/10': 1/10, '1/e': 1/np.e, '1/2': 1/2, '2': 2, 'e': np.e, '10': 10},
        value=np.e,
        description="Báza:"));

Úloha

Vyšetrite priebeh a nakreslite graf funkcie $$y = \ln(x^3)$$ Zostrojte dotyčnicu grafu funkcie v bode $x = \frac{1}{4}$.

Úloha (5 bodov)

Vyšetrite priebeh a nakreslite graf funkcie $$y = \log_{10}(100x^4)$$ Zostrojte dotyčnicu grafu funkcie v bode $x = 1$.